package com.atguigu.dao;

import com.atguigu.base.BaseDAO;
import com.atguigu.entity.Dict;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @PACKAGE_NAME: com.atguigu.dao
 * @CLASSNAME: DictDAO
 * @AUTHOR: zhangsan
 * @DATE: 2024/4/20 21:54
 * @SINCE 17.0.7
 * @DESCRIPTION: DictDAO
 */
public interface DictDAO extends BaseDAO<Dict> {
    /**
     * 判断该节点是不是父节点
     * count > 0 ? true:false
     * @param id
     * @return
     */
    Integer countIsParent(Long id);

    /**
     * 根据父节点获取对应的子节点
     * @param parentId
     * @return
     */
    List<Dict> findListByParentId(@Param("parentId") Long parentId);

    /**
     * 根据编码获取对应的数据字典
     * @param dictCode
     * @return
     */
    Dict getDictByDictCode(@Param("dictCode") String dictCode);

    /**
     * 根据字典id获取对应的名字
     * @param id
     * @return
     */
    String getNameById(Long id);

    List<Dict> findChildrenById(Long id);
}
